'''
n=int(input())
for i in range(1,n+1):
if n%i==0: print(i)
'''
n=int(input())
z=[]
for i in range(1,n+1):
if n%i==0: z.append(i)
if len(z)%2!=0: print(z[len(z)//2],z[len(z)//2])
else: print(z[(len(z)//2)-1],z[len(z)//2])
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
int k;
k=sqrt(n);
for(int i=k ;i>0;i--){
if(n%i==0 && n/i<i){
cout<<n/i<<" "<<i;
return 0;
}
else if(n%i==0 && n/i>=i){
cout<<i<<" "<<n/i;
return 0;
}
}
}
1237A - Balanced Rating Changes | 1616A - Integer Diversity |
1627B - Not Sitting | 1663C - Pōja Verdon |
1497A - Meximization | 1633B - Minority |
688B - Lovely Palindromes | 66B - Petya and Countryside |
1557B - Moamen and k-subarrays | 540A - Combination Lock |
1553C - Penalty | 1474E - What Is It |
1335B - Construct the String | 1004B - Sonya and Exhibition |
1397A - Juggling Letters | 985C - Liebig's Barrels |
115A - Party | 746B - Decoding |
1424G - Years | 1663A - Who Tested |
1073B - Vasya and Books | 195B - After Training |
455A - Boredom | 1099A - Snowball |
1651D - Nearest Excluded Points | 599A - Patrick and Shopping |
237A - Free Cash | 1615B - And It's Non-Zero |
1619E - MEX and Increments | 34B - Sale |